科技
MoonBit 周报 Vol.47:enum构造器简化,多个板块持续更新!
-- 更新目录 --
简化 enum 构造器使用
添加 UInt64 内建类型
修改
!!
后缀语义moon test
支持错误类型标准库 I/O 更新
Some(42)
而不需要写 Option::Some(42)
;如果当前环境中有两个类型 T1
和 T2
都定义了某个构造器 C
,那么在使用的时候则需要通过上下文中的类型或者类型前缀指明是 T1::C
还是 T2::C
,否则编译器会报错UInt64
/ Int64
的互相转换fn main{
let a = 0UL
let b : UInt64 = 1UL
println(a - b)//18446744073709551615
}
!!
后缀!!
后缀的语义修改为捕获函数调用中可能出现的错误,并返回 Result
类型,比如fn f() -> Int!String {..}
fn main {
let res = f()!! // res: Result[Int, String]
println(res)
}
moon test
支持错误类型moon test
中支持使用错误类型表示测试失败的情况,比如fn eq[T : Debug + Eq](a : T, b : T, ~loc :SourceLoc= _) -> Unit!String {
if a != b {
let a = debug_string(a)
let b = debug_string(b)
raise ("FAILED: \(loc) `\(a) == \(b)`")
}
}
test "test_eq" {
eq(1+2, 3)!
}
println
,其余将会在 io
package 中提供1.统一标准库函数风格
T::new()
/T::make()
等创建容器对象的函数风格, 移除了T::with_capacity
iter
和iteri
重命名为 each
和eachi
,iter_rev
和 iter_revi
重命名为 each_rev
和eachi_rev
as_iter
重命名为iter
moon info
和覆盖率工具适配错误类型和错误处理MoonBit
Twitter丨@MoonbitlangBilibili丨MoonBit月兔MoonBit用户交流群|添加小助手moonbit_helper ➕🌟 关注 🍉 分享 👀 在看 一键三连 ~
关于 MoonBit :MoonBit 是国内首个工业级编程语言及其配套工具链MoonBit(https://www.moonbitlang.cn/)是由粤港澳大湾区数字经济研究院(简称“IDEA 研究院”)基础软件中心打造的AI原生的编程语言以及开发者平台。通过创新框架在程序语言界形成后发优势,在编译速度、运行速度、体积大小上已成功领先传统语言。
⬇点击阅读原文
下载 MoonBit,开启 MoonBit 语言新体验